package com.neusoft.mybatisdemo.dao;

import com.neusoft.mybatisdemo.common.Pager;

import java.util.List;

/**
 * 使用泛型定义的，通用的数据库操作接口,定义了常用的数据库操作方法
 *
 * @author
 * @param <T>
 */
public interface BaseMapper<T> {

    /**
     * 新增
     *
     * @param object
     * @return @
     */
    public boolean add(T object);

    /**
     * 根据主键修改
     *
     * @param object
     * @return @
     */
    public void edit(T object);

    /**
     * 根据主键删除
     *
     * @param id
     * @return @
     */
    public int deleteById(Integer id);

    /**
     * 查询所有
     *
     * @return @
     */
    public List<T> findList();

    /**
     * 根据主键查询
     *
     * @param id
     * @return @
     */
    public T findById(Integer id);

    /**
     * 新增数据
     * @param object
     * @return
     */
    public boolean add2(T object);

    /**
     * 查询所有记录总数
     * @param pager
     * @return
     */
    public int findTotal(Pager<T> pager);

    /**
     *分页查询
     * @param pager
     * @return
     */
    public List<T> findByPager(Pager<T> pager);

    /**
     *批量删除
     * @param ids
     * @return
     */
    public boolean deleteByIds(List<Integer> ids);
}
